Method and apparatus for use in tracking playback of media streams while in stand-by mode

ABSTRACT

Some embodiments provide methods, systems and apparatuses for use in managing playback of content. Some of these methods comprise: maintaining, at a playback device, a first media stream in a stand-by mode; continuing to acquire, from over a distributed network while in the stand-by mode, one or more index files of the first media stream, where the one or more index files identify a plurality of media files of the first media stream configured to be played back at the playback device, while not acquiring the media files of the first media stream while the first media stream is in the stand-by mode; and tracking the one or more index files relative to a playback timing f the first media stream while in the stand-by mode, where the playback timing continues to increment while the first media stream is in the stand-by mode.

This application claims the benefit of U.S. Provisional Application No.61/443,368 filed Feb. 16, 2011, for McCoy et al., entitled METHOD ANDAPPARATUS FOR ACCESSING LIVE MEDIA STREAMS USING INDEX FILES, which isincorporated in its entirety herein by reference.

BACKGROUND

1. Field of the Invention

The present invention relates generally to managing content, and morespecifically to managing the playback of content.

2. Discussion of the Related Art

The distribution of information and content has dramatically increased.Many devices have been configured to take advantage of this increaseddistribution. In some instances, devices are configured to receivecontent from remote sources that can be played back through the device.Further, the content may be acquired on demand.

SUMMARY OF THE INVENTION

Several embodiments of the invention advantageously address the needsabove as well as other needs by providing methods, systems andapparatuses for use in managing playback of content. Some of thesemethods comprise: maintaining, at a playback device, a first mediastream in a stand-by mode; continuing to acquire, from over adistributed network while in the stand-by mode, one or more index filesof the first media stream, where the one or more index files identify aplurality of media files of the first media stream configured to beplayed back at the playback device, while not acquiring the media filesof the first media stream while the first media stream is in thestand-by mode; and tracking the one or more index files relative to aplayback timing of the first media stream while in the stand-by mode,where the playback timing continues to increment while the first mediastream is in the stand-by mode.

Other embodiments provide methods of playing back content. Some of theseembodiments comprise: playing back at a playback device a first mediastream being received from over an Internet protocol (IP) distributednetwork while the media stream is being played back; detecting, at theplayback device, an instruction to transition the first media stream toa stand-by mode; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first media stream;and tracking a first index file of the first media stream relative toplayback timing of the first media stream while in the stand by mode,and while not playing back the first media stream and not requesting,from over the distributed network, media files corresponding to theentries in the first index file.

Still other embodiments provide computer program product comprising amedium for embodying a computer program for input to a processor basedsystem and a computer program embodied in the medium for causing theprocessor based system to perform steps comprising: maintaining, at aplayback device, a first media stream in a stand-by mode; continuing torequest, from over a distributed network, a first index file of thefirst media stream, where the first index file identifies a plurality ofmedia files of the first media stream configured to be played back atthe playback device, while not acquiring the media files of the firstmedia stream while the first media stream is in the stand-by mode; andtracking, while in the stand-by mode, the first index file relative to aplayback timing of the first media stream, where the playback timingcontinues to increment while the first media stream is in the stand-bymode.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of severalembodiments of the present invention will be more apparent from thefollowing more particular description thereof, presented in conjunctionwith the following drawings.

FIG. 1 depicts a simplified flow diagram of a process according to someembodiments in managing the playback of content, such as contentacquired over a distributed Internet Protocol (IP) network.

FIG. 2 illustrates a flow diagram of a process for use in managing amedia stream according to some embodiments.

FIG. 3 depicts a simplified flow diagram of a process of managing mediastreams when a first media stream is in the stand-by mode and not beingplayed back.

FIG. 4 depicts a simplified flow diagram of a process of managing amedia stream according to some embodiments.

FIG. 5 depicts a simplified flow diagram of a process of a server orcontent source in managing the distribution of media streams.

FIG. 6 depicts a simplified block diagram of a system configured toprovide the distribution and playback of media streams according to someembodiments.

FIG. 7 illustrates a system for use in implementing methods, techniques,devices, apparatuses, systems, servers, sources and the like of managingcontent in accordance with some embodiments.

Corresponding reference characters indicate corresponding componentsthroughout the several views of the drawings. Skilled artisans willappreciate that elements in the figures are illustrated for simplicityand clarity and have not necessarily been drawn to scale. For example,the dimensions of some of the elements in the figures may be exaggeratedrelative to other elements to help to improve understanding of variousembodiments of the present invention. Also, common but well-understoodelements that are useful or necessary in a commercially feasibleembodiment are often not depicted in order to facilitate a lessobstructed view of these various embodiments of the present invention.

DETAILED DESCRIPTION

The following description is not to be taken in a limiting sense, but ismade merely for the purpose of describing the general principles ofexemplary embodiments. The scope of the invention should be determinedwith reference to the claims.

Reference throughout this specification to “one embodiment,” “anembodiment,” “some embodiments,” “some implementations,” or similarlanguage means that a particular feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment of the present invention. Thus, appearances of the phrases“in some embodiment,” “in some implementations,” and similar languagethroughout this specification may, but do not necessarily, all refer tothe same embodiment.

Some embodiments of the present invention are directed to methods,systems and apparatuses for use in managing media streams. Theseembodiments reduce lag times in returning from a stand-by mode or stateto resume playback of a media stream. In some implementations, aplayback device can maintain a media stream in a stand-by mode. Whenoperating in a stand-by mode, one or more index files of the mediastream continue to be requested from a remote source while requests formedia files associated with the index files are halted. The index filescontinue to be monitored or tracked relative to playback timing of themedia stream. The corresponding media files identified in the indexfiles, however, are not obtained and not played back while in thestand-by mode. Typically, this greatly reduced the utilized networkbandwidth because of the size of the media files and the number of mediafiles that are not received. By tracking the index file, once a requestto resume playback of the media stream is received the current mediafile corresponding with the playback timing at the time of the requestis known and can quickly be retrieved. This can greatly reduce lag timein resuming playback of the media stream because the playback devicedoes not having to request an index file from a remote source, receivethe index file, identify where in the index file playback is occurring,determine a relevant timing, identifying the relevant media filecorresponding to timing, and then issuing a request for the media file.The reduced lag time can improve a users experience and achieve greateruser satisfaction.

According to some embodiments, media streams, such as some live mediastreams, comprise one or more index files and a series of media files.In some instances, media streams may additionally comprise metadataand/or other files, such as a header file having information about thestream, such as the stream size, codecs, bitrates, metadata about thecontent in the stream, such as title, description, rating, durationand/or other information as well as offset between segments. Index filestypically include: a list of media files and a corresponding list ofaccess information (e.g., Uniform Resource Locators (URL)) associatedwith the list of media files that can be used in acquiring the mediafiles for playback. In some instances, index files can additionallyinclude metadata of each media file; time stamps of each media file;and/or other data that may be utilized with the index file. Anillustrative format of the index file may be an index file configuredaccording to the M3U8 Internet Engineering Task Force (IETF) standard.Many media files include still image data, audio data, video data, or acombination of two or more of images, audio data and video data. Anindex file typically has a much smaller data size than that of theassociated media files identified in the index file.

Media files typically include data about a predetermined period or asegment of an underlying media event. For example, a producer of a mediaevent may create a media file for every few minutes of an event andupdate the index file. The time interval of a media file may be modifiedor changed by the producer. In playing back a media stream, such as alive media event played back on a playback device (e.g., an InternetProtocol Television (IPTV) device), the playback device obtains theindex file and then retrieves and plays each media file specified in theindex list in accordance with playback timing, which can also bedictated by and/or tracked through the index file. The playback device,in some instances, obtains one or more subsequent index files for amedia stream and/or may reload an index file listing further media filesto discover additional segments of the media stream. For example, insome embodiments an IPTV device loops through index files, making a newrequest to get the latest index file at the proper time based oninformation in the current index file, and sequentially acquires themedia files identified in the index files in accordance with playbacktiming to playback the media files, and in some instances to playbackthe media files in a continuous stream.

While viewing a first media stream, however, a user watching the firstmedia stream on a playback device may elect to transition to a differentmedia stream or otherwise interrupt, halt or pause playback of the firstmedia stream. The transition to different media stream typically causedprior playback devices to halt playback and discard index files andmedia files associated with the first media stream. When the userrequests that the playback device resume playback of the first mediastream, the playback device typically had to request from a source thecurrent index file, identify a relevant playback timing, identify withinthe index file a media stream corresponding to the playback timing andthen acquire from a remote source the relevant media file and subsequentmedia files as defined in the index file. This reacquisition of theindex file and identification of a relevant media file defined in theindex file typically resulted in extensive lags in time before playbackof the first media stream resumed.

Alternatively, some present embodiments transition to a stand-by mode inresponse to receiving a request to transition to a different mediastream or other instruction to interrupt playback of a first mediastream. In the stand-by mode the playback device continues to track theone or more index files. In response to a request to resume playback ofthe first media stream, the playback device already has the currentindex files and because the playback device continued to track the indexfile the media file to be retrieved is also known. As such, the playbackdevice simply acquires the relevant media file allowing playback to beinitiated with significantly reduced lag.

The reduced lag time when switching from stand-by mode to playback modeor state (playing a media stream) is accomplished by having a playbackdevice (e.g., an IPTV device such as a TV, a mobile phone, a computer orother relevant device) continue to request the index files that are usedto play back the media stream. While in stand-by mode relative to aspecific media stream, the playback device does not request the mediafiles corresponding to that media stream and does not playback the mediastream.

When the media stream is in stand-by, the player device, reproducingdevice or display device monitors the index files that continue to bereceived, and tracks the progress of the media stream through the indexfiles relative to playback timing that continues incrementing even whenin stand-by mode. As such, the playback device can readily obtain thecurrent location information of relevant media files, such that whenplayback is resumed, the playback device can quickly request the mediafile indicated in the latest index file corresponding to the currentplayback timing to begin playback. Since the index files are receivedduring the stand-by mode, there is no need, at change over to theplayback mode, to request index files or information. Additionally,because the index file continues to be tracked relative to playbacktiming that continues incrementing as if playback had continued, thecurrent media file entry in the index file is known. The playback devicehas the location information (e.g., a URL) for the current media file inthe media stream and may directly request the media file.

FIG. 1 depicts a simplified flow diagram of a process 110 according tosome embodiments in managing the playback of content, such as contentacquired over a distributed Internet Protocol (IP) network. In step 112,the playback device (e.g., an IPTV) continues to playback a media stream(e.g., a live media stream, previously recorded media stream). In step114 instructions are received or otherwise detected to transition themedia stream to a stand-by mode. In response to this instruction, thestand-by mode is initiated and the playback of the media stream ishalted in step 116. The process 110 continues to step 120 where indexfiles continue to be requested when relevant.

In step 122, the index files continue to be tracked or otherwisemonitored. For example, playback timing may be tracked relative to themedia stream, and the identifiers of the media files defined in theindex files can be tracked in accordance with the playback timing. Instep 124, it is determined whether to resume playback of the mediastream. For example, it can be determined whether an instruction isreceived to transition from the playback of a second media stream orother media content back to the media stream in stand-by. When aninstruction to resume playback is not received the process 110 maintainsthe stand-by mode and returns to step 120 and/or 122 to continue toacquire index files when relevant and to continue to track the indexfiles relative to the playback timing of the first media stream.Typically, the playback timing continues to increment while the firstmedia stream is in the stand-by mode as if the first media stream werestill being played back.

Alternatively, when an instruction is received to resume playback, theprocess continues to step 126 where a relevant media file is identifiedas a result of the tracking. For example, a relevant media filecorresponding to the playback timing at the time the request to resumeplayback is received can be identified. In step 130 the relevant mediafile is acquired. For example, the index file may specify a URL that canbe used by the playback device to acquire the media file from a remotesource accessed over a distributed network, such as the Internet.

In step 132, playback of the media stream is resumed. For example, oncea sufficient amount of the media file or multiple media files as definedin the index file are retrieved the playback device can begin playingback the content. In step 134, playback mode continues such that indexfiles and media files continue to be acquired as dictated by the indexfiles and the playback device continues to playback the media files.

When a playback device is applying a stand-by mode to a media stream(e.g., live or prerecorded media stream received over a network) theplayback device may continue to intermittently request the index filesto continue to track a current playback point in the media streamrelative to playback timing that continues to increment as if theplayback were still continuing. The playback device may, or may not,request the media files indicated in the index files since the mediastream in stand-by mode is not actively being played back. The lag toinitiate playback is significantly reduced when the operating state ofthe playback device changes from the stand-by mode to a playback modebecause the playback device already has current index information fromthe already obtained and tracked index file, such as an identificationof a current media file and associated access to the media file (e.g.,URL). The playback device does not need to make a request to obtain acurrent index file for the current point in the media stream. As aresult, the playback device can begin playback from the current point ofthe stream in less time (substantially in real-time) since it alreadyhas, from the index file, and knows the URL of the relevant media filefor the current point in the playback operation of the media stream.Further, with live content it may be desirable to reduce the lag betweenwhen the content is produced and/or captured and when it is played back.

In some embodiments, by continuing to track the timing and index file ofthe media stream while in stand-by mode, playback of the media streamcan resume with substantially the exact same timing, for example,showing the same frame of video at the same time as if the media streamhad continued to playback and not entered stand-by mode and later beenresumed. This can in some instances provide a better user experience,such as, when a user flips between media streams as the relative timingbetween them would remain consistent. This could also provide a betteruser experience when, for example, quickly switching between mediastreams, such as when monitoring security cameras, as the timing isconsistent instead of jumping around when resuming playback of thestream.

In some embodiments, the transition from the stand-by mode to theplayback mode may be indicated to a user, for example to confirm to theuser that the instruction to resume playback of a media stream has beenreceived. In some instances, when switching from the stand-by mode tothe playback mode of a media stream, a notification can be displayed orotherwise generated (e.g., audio signal). In other instances where analternative media stream is being played back while a first media streamis in stand-by the currently displayed content of the alternative mediastream may be dimmed while the relevant one or more media files of thefirst media stream is being requested and decoded. The playback devicecan then replace the current content being dimmed by the playing back ofthe relevant media file of the first media stream once the playbackdevice is able to render the first media stream (e.g., the playbackdevice has cached a desired amount of the media file, the playbackdevice is able to render the first frame of the first media stream,and/or other such conditions being met).

The dimming of the content or media stream being displayed or otherwiseplayed back at the time of the instruction to initiate playback of thefirst media stream gives a user substantially immediate feedback thatthe instruction or request to initiate playback of the first mediastream (e.g., switch away from the alternate media stream) has beenreceived by the playback device. Again, other notifiers can be used toinform the user that the instruction was received and is beingimplemented. For example, notification can be provided by, but notlimited to, a flashing light (e.g., on the playback device or a remotecontrol communicating with the playback device), a colored light, theplayback of the alternate media stream can be frozen (e.g., frozen on asingle frame), a video segment may be repeated, one or more words may bedisplayed (e.g., a title of the first media stream), or other suchnotifiers or combinations of such notifiers.

This notification can prevent a user from repeating the request totransition from stand-by mode to playback mode relative to an identifiedmedia stream because the user may mistakenly think that his command hasnot been received by the playback device. Further, the indication ornotification can further provide the user with a more user friendlytransition, such as an appearance of still further reduced lag. Forexample, by dimming a currently played back content while acquiring thefirst media file of the first media stream the there will be portions ofthe currently played back media stream being played back and dimmed,thereby eliminating a time period when nothing is being played back.This transition technique may provide a smoother transition betweenstand-by mode and play back mode, and in some instances can give theuser the impression that the transition is quicker.

FIG. 2 illustrates a flow diagram of a process 200 for use in managing amedia stream according to some embodiments. The process is initiated atstep 202. For example, the playback device may be instructed to activeplayback of a first media stream, the playback device may be turned on(e.g., a managing application is automatically executed when theplayback device is turned on), or some other activation of the process200.

In step 204, a first media stream is selected. For example, a user mayselect the first media stream from a listing provided through a userinterface or web interface supplied by a remote service accessed by theplayback device over a distributed network. Additionally oralternatively, a managing application of the playback device may obtainstream and/or program information about one or more media streams,including the first media stream, which may be for example a prerecordedprogram or a live streaming program to be played. The programinformation may be obtained through one or more ways or methods. Forexample, the program information may be included in an electronicprogram guide. In another example, the playback device may query aremote server accessed over a distributed network for a media stream andcorresponding program information. Yet, in another example, the playbackdevice is given a command to play the first media stream where theinformation about that first media stream is contained within thecommand. The program information may include one or more of a programtitle, category, broadcasting time, program summary, and other suchinformation.

In response to the selection or other indication of the first mediastream, the process continues to step 206 to determine a starting state(or a playback mode) of the first media stream. When it is determined instep 206 that the first media stream (and/or the playback device) is ina stand-by mode 210, the process proceeds to step 212 to execute amanaging process for the first media stream in the stand-by mode 210.Alternatively, when it is determined in step 206 that the first mediastream to be played back and/or is in a playback mode 240, step 242 isentered to initiate execution of a managing process for the first mediastream in a playback mode 240.

In step 212, the playback device (e.g., through a managing application)requests a current or the latest index file in the first media stream,such as from a remote source accessed over a distributed network. Instep 214, elapsed playback timing is tracked and entries or media fileidentifiers are tracked through the acquired index file corresponding tothe playback timing that continues to increment. It is noted that atstep 214, the media files associated with the entries in the index fileare not requested as the media stream is not currently being played back(and not being viewed by the user) while in the stand-by mode. By notacquiring the corresponding media files, the traffic load of the networkis significantly reduced relative to if the media files were requested,and allows the stand-by mode 210 to use much less bandwidth than wouldotherwise be used if the media files were requested. This can furtherimprove performance, for example, if other content and/or another secondmedia stream is being played back (through the playback mode 240) whilethe first media stream is in stand-by.

At step 216, it is determined whether a switch to the playback mode 240is to be implemented. For example, it can be determined whether aninstruction received from a user to activate playback of the first mediastream and/or to switch from playing back a second media stream or othercontent to playing back the first media stream. When the mode is to beswitched to the playback mode the process switches (line 220) from thestand-by mode 210 to the playback mode 240, and continues to step 250 torequest a media file in accordance with the tracking of the index fileand as identified by an entry in the index file corresponding to thetracked playback timing. The playback device instead can directlyrequest the indentified media file (e.g., using a URL specified in thecurrent index file). Again, because the current index file was alreadyobtained at the playback device in step 212 before switching from thestand-by mode, the current index file does not need to be requested atstep 250. Additionally, because the index file continued to be trackedrelative to the playback timing that continued to increment while in thestand-by mode, the current media file entry and corresponding link, URLor other access information in the index file is readily identified.Thus, the time until playback begins and the lag to initiate playbackare significantly reduced when switching from the stand-by mode 210 tothe playback mode 240 as the index files and the offset within the indexfiles are tracked at step 214 while in the stand-by mode 210.

When it is determined in step 216 that a switch to the playback mode isnot to be initiated, the process continues (as shown by line 218) tostep 222 to determine whether to request one or more subsequent indexfiles. The determination at step 222 may be made intermittently,periodically, based on a schedule, when specified in a current indexfile, when a current playback timing or other relevant time isapproaching or is at an end time as identified in the current index filebeing tracked. When a subsequent index file is not to be requested, theprocess returns (as indicated by line 224) to step 214 to continue totrack the index file currently being evaluated and/or corresponding tothe playback timing.

Alternatively, when it is determined in step 222 that a subsequent indexfile is to be requested (as identified by line 226) step 228 is enteredto determine whether an end of the first media stream is reached. Whenan end is reached (as indicated by line 232) the process ends relativeto the first media stream at step 290. Alternatively, the process 200returns to step 212 (as identified by line 230) when the end is notdetected to request the next index file and continue to track the firstmedia stream in the stand-by mode 210.

When it is determined in step 206 that playback of the first mediastream is to be initiated, the process 200 advances to step 242 where acurrent or latest index file is requested from a remote source. In step244, the index file is evaluated to determine whether the index fileidentified unplayed media files.

When it is determined that the media files identified in the currentindex file have been played step 266 is entered (line 246) to determinewhether an end of first media stream is reached. When an end of thefirst media stream is reached (line 268) step 290 is entered terminatingthe process 200 relative to the first media stream. Alternatively, whenit is determined in step 266 that an end of the first media stream isnot reached (line 270), the process returns to step 242 to request thenext index file and continue the playback of the first media stream inthe playback mode 240.

Returning to step 244, when it is determined in step 244 that the indexfile includes an unplayed media file (line 248), step 250 is entered anda request is issued for a next media file identified according to theplayback timing and designated by the index file (e.g., using a URLassociated with the unplayed media file identified in the index file).In step, 252 the requested media file to played back as it is beingreceived or after it is received.

In step 254, it is determine whether a switch to the stand-by mode 210is to be implemented. For example, a user may change a program orchannel, a user may pause playback (e.g., pressing a pause button), auser may switches to another video input, a user may issue aninstruction to activate the stand-by mode relative to the first mediastream, or some other instruction to cause a transition to the stand-bymode. When a switch to the stand-by mode is to occur (line 256) theprocess 200 advances to step 214 to keep tracking elapsed time andcurrent index file relative to the elapsed time. Further, requests forthe media files identified in the index file are stopped.

Alternatively, when it is determined in step 254 that the stand-by modeis not to be activated the process continues to step 260 to determinewhether an end of the first media file is reached. When an end of thefirst media file is not reached (line 262), the process returns to step252 to continue playing the current media file. In those instances wherean end of the media file is reached (line 264), the process 200 returnsto step 244 to check whether the index file includes unplayed files.

It is noted that in some embodiments any number of mode switches betweenthe stand-by mode 210 and the playback mode 240 can be implemented.Further, the process 200 can be implemented relative to more than onemedia stream. For example, one or more media streams can be tracked inthe stand-by mode 210 while one or more media streams are played backthrough the playback mode 240. The mode switch can occur between mediastreams, and the mode switch between streams may occur, in someimplementations, any number of times.

FIG. 3 depicts a simplified flow diagram of a process 310 of managingmedia streams when a first media stream is in the stand-by mode and notbeing played back. In step 312, a current index file of the first mediastream is tracked relative to the continued playback timingcorresponding to the first media stream. In step 314 it is determinedwhether to initiate or resume playback of the first media stream. Thisdetermination can be based on an instruction being received from a useror other source, based on a predefined condition occurring (e.g.,detecting an occurrence of an event, such as an occurrence of aspecified event detected from metadata of the index file or mediastream), based on an instruction to record the media stream (e.g., in adigital video recorder device), or the like.

When playback is not to be initiated the process 310 advances to step316 to continue tracking the index file relative to the advancingplayback timing. In step 320 it is determined whether a subsequent indexfile is to be obtained. When a subsequent index file is not to beobtained the process returns to step 312 to continue tracking the indexfile. Alternatively, the process advances to step 322 when a subsequentindex file is to be obtained where a subsequent index file is acquired.For example, a subsequent index file may automatically be received basedon a prior request to access the first media stream, the playback devicemay issue a request to a remote source for the subsequent index file, orother such methods. Following step 322 the process returns to step 312to track the subsequent index file.

When it is determined in step 314 to resume or initiate playback of thefirst media stream the process 310 continues to step 324 where it isdetermined whether other content is being played back, for examplealternate media content, a second media stream or other content is beingdisplayed and/or played back. When other content and/or a second mediastream is actively being played back it is determined in step 326whether to transition the other content to the stand-by mode. In someinstances, the other content may not be configured in a format thatprovides index files. Additionally or alternatively, the playback devicemay be capable of playing back multiple media streams and/or othercontent. As such, the playback device may not want to transition theother content or second media stream to the stand-by mode.Alternatively, the instruction to resume playback of the first mediastream may be an instruction to change channels, terminate playback ofother media content, to change from the second media stream to the firstmedia stream, initiate recording of other content or a second mediastream being played back, and/or other such action.

In those instances where the other content is not to be switched to thestand-by mode the process 310 advances to step 332. Alternatively, step330 is entered where the second media stream is transitioned to thestand-by mode. The process then continues to step 332 to initiateplayback and/or recording of the first media stream based on the trackedindex file by acquiring the media file corresponding to the playbacktiming (e.g., the playback timing at the time the instruction to resumeplayback was received, a playback timing based on some delay applied toa playback timing at the time the instruction was received, or thelike).

In some embodiments, the playback device in tracking the index file mayfurther monitor metadata, timing information and/or other informationdefined and/or provided in the index file or with the media stream.Based on an evaluation of the metadata or other information the playbackdevice may take one or more actions. For example, the playback devicemay display timing information and/or metadata to the user without adelay or lag; display a title; display a change in titles; displayremaining amount of time; display status information; activate recordingof the first media stream an alternate media stream and/or other mediacontent; activate transition to the playback mode for the first mediastream; activate playback of other media content; the playback devicemay determine whether an event occurs and take one or more actions whenthe event occurs and/or one or more alternative actions when the eventdoes not occur; provide notices to a user; display a current titleand/or rating of content of the media stream; and/or other such actions.The event can be the detection of a certain playback timing or elapse oftiming within an index file; a detection of a transition within a firstmedia stream from a first program (e.g., first television program) to asecond program (e.g., second television program); detection of a changeof title in a media stream (e.g., a change in naming of the entries inthe index file); metadata identifying a certain characteristic regardingthe corresponding media stream (e.g., a title of the media stream onstand-by, a change in media stream type, a change in a program type, ascore of a sporting event being provided on a media stream that a userhas on stand-by, an elapsed time of the media stream, an elapsed time orremaining time of a sporting event, identifying a scene, and/or othersuch information or combinations of such information); a event occurringwithin the media stream (e.g., a score occurring during a sportingevent, dramatic change in volume, a scene change, an end of a commercialbreak, or the like); or other such events or combinations of suchevents. For example, the detection of an event may automatically cause atransition to a playback mode for a previously defined media stream,which in response can be played back and/or recorded. Similar trackingof metadata can occur on one or more other media streams and/or mediacontent, with predefined actions being taken in response to detecting anevent. In some instance, the metadata can define the action to be taken,define a code that is used by the playback device to identify an action,or the like. In other instances, the playback device detects the eventand identifies an action based on the identified event.

In some instances, the events are based on user defined parameters, userpreferences, user profile information, previous user actions, contentviewing habits, events defined by a content distributed and/or producer,events defined by content source or server, and/or other such relevantinformation. Similarly, the event can be predefined prior to detectingthe event, as a result of some other occurrence, defined prior to thecontent being released by a production company or content owner, priorto being distributed over a distributed network to the playback deviceby a content source or server, or the like. In response to detecting theevent, the playback device may take some action. In some instances, theaction may be predefined, such as by the user, by a source of the mediastream or content, by the playback device, by the metadata, and/or someother source. For example, the playback device may display anotification (e.g., display a title, display a rating of content of themedia stream, display an elapsed time, display a remaining amount oftime, display a score of a sporting event, display a timeline, time baror the like of the media stream or the subject of the media stream,display an amount of time remaining in a sporting event, displaying anotice that an alternative title is now playing, ask whether a userwishes to playback and/or record an alternate media stream, identifyinga next program to be provided in a media stream, display some of themeta-data and/or the timing from tracking the index files while instand-by mode; and/or other notifications); automatically shift a mediastream from a stand-by mode to a playback mode to playback and/or recordthe media stream; shift a media stream from a playback mode to astand-by mode; terminate a stand-by mode for a media stream; cause amedia stream to be forwarded to a secondary playback or recordingdevice; or other actions or combinations of such actions. In someinstances, the notification may be displayed and/or audio generated evenwhile another media stream and/or other content is not being played backor displayed.

As another example, in some embodiments a title and/or a rating ofcontent of the media stream may be displayed while the media stream isin stand-by mode. This may have benefit in many instances, such as withmedia streams including content of a concert broadcast or Internetstream of a TV channel when the media stream spans multiple content orprogram titles. Some implementations may display timing information,such as an elapsed time or location within content, a program and/or themedia stream (e.g., displayed along a time line).

Further, in some instances, notifications, metadata and/or otherinformation may be displayed as an overlay over another media streambeing played back, displayed in a separate display area, displayed in aminimized player window, interrupt another media stream being playedback, temporarily displayed in place of another media stream beingplayed back, displayed as scrolling information, displayed as a timelineor bar, an audio notification, a communication to a secondary device(e.g., a mobile phone), or the like. The actions, for example, can allowa user viewing media streams to keep track of what is going on relativeto a first media stream in stand-by (e.g., keeping track of a score of asporting event) without actually watching the first media stream and/orwhile playing back different content or a second media stream.

Some embodiments may additionally or alternatively log, record and/orotherwise electronically process meta-data from the index files while instand-by mode. Index files may have metadata information appended tothem, such as events that may have occurred since the last index filewas generated, which may be logged by monitoring applications, even whenthe stream is being tracked in stand-by mode. For example, a securitycamera monitoring application can log door open/close events and badgesread at a door or other point monitored by a security camera frommetadata in the index files even when the media stream containing thevideo from a security camera was not transmitted over a network.Similarly, the index metadata could also include information aboutpoints of interest that were identified, such as when a motion detectoror video monitoring software detected motion, in the media since thelast index file was generated, allowing software monitoring in stand-bymode to know of these points of interest and to go back and request themedia associated with these points. This would allow, for example, asecurity monitoring application to monitor the index files from aplurality of security cameras, and when motion is detected by one ofthose cameras, the monitoring application can then request and recordthe media for a time frame around that identified interesting point,including a certain amount of time before the start of the interestingperiod. Accordingly, in some instances, the media that is requested overthe network may be limited to the media identified as being of interestfor a stream that is in stand-by mode and not being watched.

FIG. 4 depicts a simplified flow diagram of a process 410 of managing amedia stream according to some embodiments. In step 412, an index fileis acquired when an index file has not already been acquired or when asubsequent index file is to be acquired. In step 414, playback timing istracked relative to a first media stream. Again, while in the stand-bymode the playback timing continues to increment as if the first mediastream was being played back, such that a current location within acurrent index file can be tracked relative to the incrementing playbacktiming. In step 416, it is determined whether to transition to a nextmedia file entry in the index file being tracked. When it is determinedto transition to the next media file entry step 418 is entered todetermine whether the media stream is ended. When the end is reached theprocess 410 terminates.

Alternatively, step 420 is entered to determine whether a subsequentindex file is to be retrieved. When a subsequent index file is not to beretrieved the process advances to step 424. In those instances where asubsequent index file is to be retrieved, step 422 is entered where thesubsequent index file is acquired, such as request the subsequent indexfile from a remote source. In step 424 a next media file entry in theindex file (or the subsequent index file) is identified. In step 426 themedia file entry is tracked and/or metadata or other informationassociated with that entry or associated with timing corresponding tothat media file entry is evaluated. In step 430 it is determined whetherone or more events are detected. When an event is detected step 432 isentered where one or more relevant actions are taken relative to theevent (e.g., displaying information, transitioning to a playback mode,or the like). When it is determined in step 430 that an event is notdetected and typically following step 432 the process returns to step414 to continue tracking playback timing and the index file. It is notedthat in some instances the action may transition a media stream fromstand-by to playback to initiate playback or recording of the mediastream. Accordingly, in some instances the process 410 may terminate asa result of the event.

As described above, multiple media streams can be tracked while in thestand-by mode. Because the media files associated with a tracked mediastream in the stand-by mode are not received, the amount of bandwidthused in tracking the index file is typically a small percentage of whatwould otherwise be used in obtaining the media files, and typically arelatively small portion of the overall available bandwidth.Accordingly, in some embodiments, multiple media streams cansimultaneously be tracked in the stand-by mode. When multiple mediastreams are tracked the process 410 of FIG. 4 can be implemented foreach media stream, intermittently between the plurality of mediastreams, for only one or more selected media streams or the like. Thisallows events to be detected relative to one or more tracked mediastreams and actions to be taken (e.g., notification to the user of theevent).

In some embodiments, the playback device may notify one or more remoteservers and/or content sources that a first media stream is in or hastransitioned to a stand-by mode. As such, the one or more remoteservers, sources or other devices operating independent or cooperativelycan prevent the distribution of the media files to the playback devicewhile still distributing the index files. This way the playback devicedoes not have to decide which media files to request.

FIG. 5 depicts a simplified flow diagram of a process 510 of a server orcontent source in managing the distribution of media streams. Again, theprocess 510 can be implemented by one or more servers or devicesoperating independently or cooperatively. In step 512, a notification isreceived from over a distributed network and from a playback device thata first stream is in a stand-by mode. In step 514, the content sourcehalts further communication of media files of the first media stream tothe playback device while the first media stream is in the stand-bymode. In step 516, the content source continues to distribute indexfiles of the first media stream to the playback device.

In step 520, it is determined whether the first media stream hastransitions from the stand-by mode to a playback mode at the playbackdevice. When a transition to a playback mode has not been detected theprocess returns to step 514 to continue to halt the distribution ofmedia files to the playback device where the first media stream is inthe stand-by mode. Alternatively, when a transition to the playback modehas occurred the process 510 advances to step 522 to identify a currentplayback timing. In some instances the notification of the transition toplayback mode may include timing information that can be used by thecontent source and/or can be verified at the content source. In step524, the content source identifies a current media file identifiedwithin a current index file corresponding to the current playbacktiming. In step 526, the content source distributes the current mediafile and subsequent media files and index files to the playback devicewhile the first stream is in the playback mode.

FIG. 6 depicts a simplified block diagram of a system 610 configured toprovide the distribution and playback of media streams according to someembodiments. The system includes one or more playback devices 612, oneor more content servers, services or devices 614, one or more contentsources 616, and a distributed network 620 providing communicationchannels or links between two or more of the devices of the system. Thecontent servers 614 are remote from the playback devices 612, and theplayback devices 612 can communicate over the distributed network 620with the one or more remote content servers 614 in selecting and/orobtaining access to media streams. In some instances, the contentservers 614 distribute the media streams, while in other instances acontent server 614 may direct the playback device 612 to another contentserver 614 or a content source 616 to acquire the media stream, indexfiles and/or media files. Further, the content servers 614 may in someembodiments directly couple with a content source 616, which mightinclude digital storage accessible by the content server 614, while inother instances the content server may communicate with one or morecontent sources over the distributed network 620. Again, the one or morecontent servers 614 and/or content sources 616 may provide live content(such as the output of a video) or pre-recorded content (such as a mediafile or disc that is formatted into media files and index files forstreaming). In the case of a live source the index file may giveinformation about media files that have not yet been written.

As described above, the playback devices 612 obtain one or more indexfiles from the media stream. From the index file the playback device 612identifies a media file. In playback mode the media stream uses thelocation information of the media file identified in the index file toaccess a content server 614 or a content source 616 to obtain theidentified media file. For example, the index file may define a link,URL, or other such access or location information that allows theplayback device 612 to retrieve the media file to be played back and/orrecorded at the playback device 612. The playback devices 612 can besubstantially any relevant playback device configured to receive mediastreams and track one or more media streams while not acquiring mediafiles associated with the tracked media streams. For example, theplayback devices 612 can be televisions (e.g., IPTVs), computers,laptops, wireless devices (e.g., smart phones) and other such devices.

The one or more content servers 614 can be substantially any server,device or collection of devices configured to provide playback devices612 with media streams and/or direct playback devices to sources ofmedia streams. For example, one or more of the content servers 614 canbe servers operating under the BRAVIA Internet Video Link (BIVL) serviceprovided by Sony Corporation. Again, the content server 614 can directthe playback device to other sources (e.g., other servers 614 or contentsources 616) for the media streams and/or media files. Further, one ormore of the content servers may be distributed over the network 620and/or cooperated with other servers. The network 620 can be theInternet, a WAN, a LAN or other such networks or combinations of suchnetworks that are configured to allow the distribution of media streamsand media files.

The methods, techniques, devices, servers, sources, systems and the likedescribed herein may be utilized, implemented and/or run on manydifferent types of systems. Referring to FIG. 7, there is illustrated asystem 710 that may be used for any such implementations, in accordancewith some embodiments. One or more components of the system 710 may beused for implementing any system, apparatus or device mentioned above orbelow, such as for example any of the above or below mentioned playbackdevices 612, remote content servers 614, content sources 616, etc.However, the use of the system 710 or any portion thereof is certainlynot required.

By way of example, the system 710 may comprise a controller or processormodule 712, memory 714, a user interface 716, and one or morecommunication links, paths, buses or the like 720. A power source orsupply (not shown) is included or coupled with the system. Thecontroller 712 can be implemented through one or more processors,microprocessors, central processing unit, logic, local digital storage,firmware and/or other control hardware and/or software, and may be usedto execute or assist in executing the steps of the methods andtechniques described herein, and control various communications,programs, content, listings, services, interfaces, etc. The userinterface 716 can allow a user to interact with the system 710 andreceive information through the system. In some instances, the userinterface 716 includes a display 722 and/or one or more user inputs 724,such as a remote control, keyboard, mouse, game controller, buttons,touch screen, etc., which can be part of or wired or wirelessly coupledwith the system 710.

Typically, the system 710 further includes one or more communicationinterfaces, ports, transceivers 718 and the like allowing the system 710to communication over the distributed network 620, other networks orcommunication channels with other devices and/or other suchcommunications. Further the transceiver 718 can be configured for wired,wireless, optical, fiber optical cable or other such communicationconfigurations or combinations of such communications. The system 710comprises an example of a control and/or processor-based system.

The memory 714, which can be access by the controller 712, typicallyincludes one or more processor readable and/or computer readable mediaaccessed by at least the controller 712, and can include volatile and/ornonvolatile media, such as RAM, ROM, EEPROM, flash memory and/or othermemory technology. Further, the memory 714 is shown as internal to thesystem 710; however, the memory 714 can be internal, external or acombination of internal and external memory. The external memory can besubstantially any relevant memory such as, but not limited to, one ormore of flash memory secure digital (SD) card, universal serial bus(USB) stick or drive, other memory cards, hard drive and other suchmemory or combinations of such memory. The memory 714 can store code,software, executables, scripts, data, content, multimedia content,programming, programs, media stream, media files, textual content, logor history data, user information and the like. In some embodiments, thememory 714 stores software that implements the user interfaces andallows the user to interact with the system 710.

In some embodiments, one or more of the embodiments, methods, processes,approaches, and/or techniques described above or below may beimplemented in a computer program executable by a processor-basedsystem. By way of example, such a processor based system may comprisethe processor based system 710, or a computer, IP enabled television, IPenabled Blu-ray player, entertainment system, game console, graphicsworkstation, cellular phone, smart phone, tablet, etc. Such computerprogram may be used for executing various steps and/or features of theabove or below described methods, processes and/or techniques. That is,the computer program may be adapted to cause or configure aprocessor-based system to execute and achieve the functions describedabove or below. For example, such computer programs may be used forimplementing any embodiment of the above or below described steps,processes or techniques for allowing a playback device 612 to access aremote content server 614 and/or content source 616 over the distributednetwork 620. As another example, such computer programs may be used forimplementing any type of tool or similar utility that uses any one ormore of the above or below described embodiments, methods, processes,approaches, and/or techniques. In some embodiments, program codemodules, loops, subroutines, etc., within the computer program may beused for executing various steps and/or features of the above or belowdescribed methods, processes and/or techniques. In some embodiments, thecomputer program may be stored or embodied on a computer readablestorage or recording medium or media, such as any of the computerreadable storage or recording medium or media described herein.

Accordingly, in some embodiments the present embodiments provide aprocessor or computer program product comprising a medium for embodyinga computer program for input to a processor or computer and a computerprogram embodied in the medium for causing the processor or computer toperform or execute steps comprising any one or more of the stepsinvolved in any one or more of the embodiments, methods, processes,approaches, and/or techniques described herein. For example, someembodiments provide a computer-readable storage medium storing acomputer program for use with a computer simulation, the computerprogram adapted to cause a computer and/or processor based system toexecute steps comprising: maintaining, at a playback device, a firstmedia stream in a stand-by mode comprising: continuing to request, fromover a distributed network, a first index file of the first mediastream, where the first index file identifies a plurality of media filesof the first media stream configured to be played back at the playbackdevice, while not acquiring the media files of the first media streamwhile the first media stream is in the stand-by mode; and tracking thefirst index file relative to a playback timing of the first mediastream, where the playback timing continues to increment while the firstmedia stream is in the stand-by mode; determining whether an instructionis received to switch the first media stream from the stand-by mode to aplayback mode; transitioning the first media stream to a playback mode,comprising: identifying, in response to determining that the instructionis received to switch the first media stream to the playback mode, fromthe tracking of the first index file a current first media file definedwithin the first index file and corresponding to a playback timing atthe time of determining that the instruction is received to switch thefirst media stream to the playback mode; and acquiring at the playbackdevice, from over the distributed network, the first media file.

The tracking of one or more media streams can be performed onsubstantially any relevant media stream formatted with an index or othertype of listing file and corresponding media files identified in theindex file. For example, the tracking can allow user's watching IPTV totransition between programs (e.g., using a “jump” or “last” button on aremote control) while reducing the lag in initiating playback inresponse to a transition between media streams. Similarly, oftensecurity systems include multiple cameras capturing video of one or moreareas and/or locations the captured video is displayed to securitypersonal. In many instances the view seen by the security personal istransitioned between different cameras. As such, the lag resulting froma transition between cameras and/or the bandwidth needed in achieve thetransition can be reduced by continuing to track media streams fromdifferent cameras in stand-by while these media streams are notdisplayed to a user.

The present embodiments provide methods to place a live and/orprerecorded media stream in a stand-by mode so that when the userswitches back to playing the media stream it starts playing back at acurrent location in the stream with reduced lag time. When the mediastream is in stand-by mode the amount of network traffic used to trackto the current location in the media stream is greatly reduced as theactual media content is not requested.

Further, the lag that would otherwise occur upon switching back to astand-by media stream is significantly reduced relative to not havingtracked the index file. In some embodiments, this reduced lag time isachieved, at least in part, through the playback device 612 continuingto acquire the index files that normally would be obtain to play backthe media stream and tracks the index files relative to playback timing.The playback device 612 does not request the media files indicated inthe index files as the media is not currently being displayed orrecorded. With the playback device 612 following the index files, whenplayback is to be resumed the playback device does not have to make arequest to get index information or identify a media file to be playedback. The playback device has the URL for the current media file in themedia stream and can directly request the media file to play. Further,with the tracking of the index files additional information, such astiming information and metadata are available that can be used by theplayback device 612 and/or used to present information to a user.

Alternatively, other systems do not provide a stand-by and have toidentify the source, issue a request for the media stream, identify acurrent playback timing, acquire media file corresponding to theplayback timing and then may be able to initiate playback. This resultsin significant lag time between the request to start playback and theactual playing back of the requested content.

The lag in initiating playback may attempt to be reduced by continuingto receive the media stream including the index file and the mediafiles, which are not played back and instead simply discarded. However,this results in relatively large amounts of data being transferred andrelative large bandwidth usage. Alternatively, by not requesting themedia files while in the stand-by mode the media stream can continue tobe tracked with relatively minimal computational overhead, a smallfraction of data transfer, bandwidth usage and/or network traffic, andstill significantly reduce the lag in initiating playback. For example,some embodiments request from over the distributed network 620 the oneor more index files for a media stream (e.g., a live media stream) whenthe media stream is placed in stand-by mode. This allows for less lagtime when playback of that media stream is resumed. This also greatlyreduces the amount of network traffic generated to track the live mediastream when the playback of that media stream is not shown to a user. Bytracking the location within the index files relative to the continuedplayback timing while in the stand-by mode the current media file isknown and can be quickly requested in response to instructions to switchto the playback mode.

Some embodiments further track timing and metadata for a media streamthat is in stand-by mode. As such, in some instances actions can betaken in response to the evaluation of metadata and/or other informationobtained while in the stand-by mode. Additionally, some embodimentsprovide the user with feedback in response to a request a switch fromstand-by to playback mode. In some implementations, a user interfacemethod is provided to give feedback to the user that her/his request toswitch the content has been received and is being processed. Forexample, in response to a request to switch from a first media stream inplayback mode to a second live media stream in stand-by mode, thecurrently playing content of the first media stream can be dimmed whilethe current media file of the second media stream is being requested anddecoded. Then the content of the first media stream can be replaced bythe second live stream playback when the playback device 612 is able torender a first frame of the current media file of the live second mediastream.

This notification, such as the dimming of the first media content, givesthe user immediate feedback that her/his request to switch away from thecontent of the first media stream has been received by the playbackdevice 612. Accordingly, the user is less likely to repeat the requestbecause the user did not receive a response and thought the request(e.g., that the remote button press) was not received by the playbackdevice. Additionally, the time when there is nothing playing back inresponse to the instruction to switch the second media stream is reducedor eliminated by continuing to show the currently played back content ofthe first media stream while preparing to start playback of the livesecond media stream. This can further give the user the impression thatthe transition was smoother and quicker as the user is not starting at“dead air” (e.g., blank or dark screen) or the amount of time a dark orblank screen is displayed can be reduced. This can be particularlyuseful in the times when there is a delay (e.g., delay resulting formthe internet) when making the requests for the current media file oflive second media stream.

The request to switch from a stand-by to a playback mode can be receivedthrough several ways, such as a user using a jump or other such buttonon a remote control to switch back and forth between two different mediastreams (e.g., between live internet streams of two different sportingevents). When a live media stream on a network is on stand-by in aplayback device 612, the playback device can keep requesting the indexfiles to continue tracking along with the latest point in the mediastream, while not requesting the media files indicated in the index filesince the media stream is not actively being played back, recorded orotherwise being used where the media files would be needed.

When switching the media stream (e.g., live internet media stream) fromstand-by to playback mode to actively playback the stream, the playbackdevice 612 already has current index information and therefore norequests for the index file will need to be made to initiate theplayback or get the index file for the current point in the stream. Theplayback device 612 can begin playback of the media stream quicker sinceit already knows the URL of the media file for the current point in theplayback. Again, substantially any playback device configured to receivemedia streams configured with an index file and corresponding mediafiles. For example, some embodiments can be utilized with contentconfigured according to the M3U8 IETF standard for live media streamingthat has index files that include URLs to the individual media filesthat make up the content of the media stream.

Some embodiments provide methods of managing content, the playback ofcontent and/or providing stand-by mode in playing back content, such ascontent received over a distributed network (e.g., the Internet). Forexample, some embodiments provide methods comprising: playing back at aplayback device a first media stream being received from over anInternet Protocol (IP) distributed network from a remote content sourcewhile the media stream is being played back, wherein the first mediastream comprises a plurality of index files and corresponding to eachindex file a plurality of corresponding media files, where each indexfile directs the playback of the plurality of corresponding media filesas defined within the index file and based on a playback timing;detecting, at the playback device, an instruction to transition to astand-by mode corresponding to the first media stream being played backat the playback device at a time the instruction to transition to thestand-by mode is received; activating the stand-by mode relative to thefirst video; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first media stream;continuing to track playback timing corresponding to the first mediastream while not playing back the first media stream; and tracking afirst index file of the first media stream relative to the playbacktiming of the first media stream while in the stand-by mode, and whilenot playing back the first media stream and not requesting, from overthe distributed network, media files corresponding to the entries in thefirst index file.

Some embodiments additionally are configured to determine, while in thestand-by mode relative to the first media stream, whether an instructionis received to resume playback of the first media stream; activate aplayback mode relative to the first media stream; identify from thetracking of the first index file, in response to determining that aninstruction to resume playback of the first media stream is received, afirst media file defined within the first index file and correspondingto a playback timing at the time of detecting the instruction to resumeplayback; request, over the distributed network, the first media file;and initiating playback, in response to the instruction to resumeplayback of the first media stream and in response to receiving thefirst media file, the first media file. In some instances, someembodiments additionally identify from the tracking of the first indexfile, in response to determining that an instruction to resume playbackof the first media stream is received, a link or access to a first mediafile as defined within the first index file and corresponding to aplayback timing at the time of detecting the instruction to resumeplayback; and acquire, over the distributed network, the first mediafile using the identified link or access.

Some embodiments further identify, while in the stand-by mode, an end ofthe first index file; and continue to request, while in the stand-bymode corresponding to the first media stream, one or more subsequentindex files of the first media stream from the remote content sourcesupplying the first media stream while not requesting media filescorresponding to entries in the one or more subsequent index files;wherein the one or more subsequent index files comprise the first indexfile. In some instances, the detection of the instruction to transitionto the stand-by mode comprises detecting an instruction to implementplayback of a second media stream. The instruction to transition to thestand-by mode in some implementations can further comprise detecting aninstruction to change from a first channel corresponding to the firstmedia stream to a second channel corresponding to the second mediastream, and the instruction to resume playback of the first media streamcomprises an instruction to change back to the first channel. Someembodiments further comprise: tracking a second index file of a thirdmedia stream relative to playback timing of the third media stream whileplaying back the second media stream, while in the stand by moderelative to the first media stream, and while not requesting media filescorresponding to entries in the second index file of the third mediastream; and identifying, in tracking the second index file, an eventrelevant to the second index file; and displaying a notification of theevent while playing back the second media stream and not playing backthe first media stream or the third media stream.

Other embodiments provide methods of playing back content comprising:playing back at a playback device a first media stream being receivedfrom over an Internet protocol (IP) distributed network from a remotecontent source while the media stream is being played back; detecting,at the playback device, an instruction to transition to a stand-by modecorresponding to the first media stream being played back at theplayback device at a time the instruction to transition to the stand-bymode is received; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first media stream;continuing to request, over the distributed network from the remotecontent source and while in the stand by mode corresponding to the firstmedia stream, one or more subsequent index files of the first mediastream while not requesting media files corresponding to entries in theone or more subsequent index files; continuing to track playback timingcorresponding to the first media stream while not playing back the firstmedia stream; tracking the one or more subsequent index files of thefirst media stream relative to the playback timing while in the stand-bymode, and while not playing back the first media stream and notrequesting from the remote source media files corresponding to theentries in the one or more subsequent index files; determining, while inthe stand-by mode relative to the first media stream, whether aninstruction is received to resume playback of the first media stream;identifying from the tracking of the one or more subsequent index files,in response to determining that an instruction to resume playback of thefirst media stream is received, a first media file defined within one ofthe one or more subsequent index files and corresponding to a playbacktiming at the time of detecting the instruction to resume playback;requesting, over the distributed network and from the remote contentsource, the first media file; and initiating playback, in response tothe instruction to resume playback of the first media stream, the firstmedia file in accordance with the one of the one or more subsequentindex files.

Yet other embodiments provide for methods comprising: entering stand-bymode such that playback of a media stream is halted, where the mediastream is received over an IP distributed network from a remote contentsource; reducing lag time in subsequently resuming of playback of themedia stream, comprising: continuing to track progress of playback ofthe media stream without acquiring media files of the media stream whilein the stand-by mode; identifying a media file that is defined to beplaying a the time a request to resume playback of the media stream isreceived without further requests over the distributed network; andrequesting from the remote source the media file.

Additionally, some embodiments include methods comprising: playing backat a playback device a first video being received from over adistributed network from a remote content source while the first videois being played back; detecting, at the playback device, an instructionto transition to a stand-by mode corresponding to the first video beingplayed back at the playback device at a time the instruction totransition to the stand-by mode is received; halting, in response toreceiving the instruction to transition to the stand-by mode, theplayback of the first video; continuing to request, over the distributednetwork from the remote content source and while in the stand by modecorresponding to the first video, one or more subsequent index files ofthe first video from the remote content source supplying the first videowhile not requesting video files corresponding to entries in the one ormore subsequent index files; continuing to track playback timingcorresponding to the first video while not playing back the first videoand not requesting from the remote source the video files correspondingto the entries in the one or more subsequent index files; tracking theone or more subsequent index files relative to the playback timing whilein the stand by mode not playing back the first video and not requestingfrom the remote source the video files corresponding to the entries inthe one or more subsequent index files; detecting, while in the stand-bymode relative to the first video, an instruction to resume playback ofthe first video; activating a playback mode relative to the first video;and identifying from the tracking of the one or more subsequent indexfiles, in response to the instruction to resume playback, a first indexfile and a first video file defined within the first index filecorresponding to a playback timing as defined within the first indexfile corresponding to the time when detecting the instruction to resumeplayback. In some instances, embodiments further initiate playback of asecond video file while in the stand-by mode corresponding to the firstvideo.

Yet other embodiments provide methods comprising: playing back at aplayback device a first video, wherein the first video comprises aplurality of index files and corresponding to each index file aplurality of corresponding video files, where each index file directsthe playback of the plurality of corresponding video files as definedwithin the index file and based on a playback timing; receiving, at theplayback device, an instruction to transition to a stand-by modecorresponding to the first video being played back at the playbackdevice at a time the instruction to transition to the stand-by mode isreceived; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first video;continuing to request, from over a distributed network and while in thestand-by mode corresponding to the first video, one or more subsequentindex files while not requesting video files corresponding to entries inthe one or more subsequent index files; continuing to monitor timingrelative to the index file while not playing back video files.

Still other embodiments provide methods of managing playback of content,the methods comprise: maintaining, at a playback device, a first mediastream in a stand-by mode comprising: continuing to request, from over adistributed network and from a remote source, an index file of the firstmedia stream, where the first index file identifies a plurality of mediafiles of the first media stream configured to be played back at theplayback device, while not acquiring the media files of the first mediastream while the first media stream is maintained in the stand-by mode;and tracking the index file relative to a playback timing of the firstmedia stream, where the playback timing continues to increment while thefirst media stream is in the stand-by mode; determining whether aninstruction is received to switch the first media stream from thestand-by mode to a playback mode; identifying, in response todetermining that the instruction is received to switch the first mediastream to the playback mode, from the tracking of the index file acurrent first media file defined within the index file and correspondingto a playback timing at the time of determining that the instruction isreceived to switch the first media stream to the playback mode;acquiring at the playback device, from over the distributed network andfrom the remote source, the first media file; and initiating playback,at the playback device, of the first media file in response to switchingthe first media stream to the playback mode.

Some embodiments provide methods of managing the distribution ofcontent. These methods comprise: receiving, from over a distributednetwork and at a content server or source, a notification from aplayback device that a first stream is in a stand-by mode; continuing todistribute index files of the first media stream to the playback devicewhile the first stream is in stand-by mode at the playback device;halting further communication to the playback device of media files ofthe first media stream while the first media stream is in the stand-bymode; determining whether the first media stream has transitions to aplayback mode at the playback device; identifying a current playbacktiming, in response to determining the first media stream hastransitions to the playback mode at the playback device; identifying acurrent media file identified within a current index file correspondingto the current playback timing; and distributing the current media fileand subsequent media files to the playback device.

In some instances, methods further comprise: tracking one or moreadditional index files of one or more corresponding additional mediastreams relative to corresponding playback timings of the one or moreadditional media streams while playing back the second media stream,while in the stand by mode relative to the first media stream, and whilenot requesting media files corresponding to entries in the one or moreadditional index files of the one or more corresponding additional mediastreams; identifying, in tracking the one or more additional indexfiles, an event relevant to one of the one or more additional indexfiles; halting playback of the second media stream; and activatingplayback of the one of the one or more additional media streams inresponse to the event.

Some embodiments provide a computer-readable storage medium storing oneor more computer programs for use with a computer simulation, the one ormore computer programs adapted to cause a computer and/or processorbased system to execute steps comprising: playing back at a playbackdevice a first media stream being received from over an IP distributednetwork while the media stream is being played back; detecting, at theplayback device, an instruction to transition the first media stream toa stand-by mode; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first media stream;tracking a first index file of the first media stream relative toplayback timing of the first media stream while in the stand-by mode,and while not playing back the first media stream and not requesting,from over the distributed network, media files corresponding to theentries in the first index file; determining, while in the stand-by moderelative to the first media stream, whether an instruction is receivedto resume playback of the first media stream; identifying from thetracking of the first index file, in response to determining that aninstruction to resume playback of the first media stream is received,access to a first media file defined within the first index file andcorresponding to a playback timing at the time of detecting theinstruction to resume playback; acquiring, over the distributed network,the first media file using the identified access; and initiatingplayback, in response to the instruction to resume playback of the firstmedia stream, the first media file.

Other embodiments provides a computer-readable storage medium storingone or more computer programs for use with a computer simulation, theone or ore computer programs adapted to cause a computer and/orprocessor based system to execute steps comprising: receiving, from overa distributed network and at a content server or source, a notificationfrom a playback device that a first stream is in a stand-by mode;continuing to distribute index files of the first media stream to theplayback device; halting further communication of media files of thefirst media streams to the playback device while the first media streamis in the stand-by mode; determining whether the first media stream hastransitions to a playback mode at the playback device; identifying acurrent playback timing, in response to determining the first mediastream has transitions to the playback mode; identifying a current mediafile identified within a current index file corresponding to the currentplayback timing; and distributing over the distributed network to theplayback device the current media file and subsequent media files.

Some embodiments provide methods of claim managing playback comprisingmaintaining a first media stream in a stand-by mode and continuing totrack index files of the first media stream while in the stand-by mode.In some instances, the methods further comprise tracking the first mediastream while in the stand-by mode and determining whether one or moreevents occur. Additionally, some embodiments further compriseidentifying, from the event, a rating of content of the first mediastream; comparing the rating from the meta-data to a rating limit setfor playback; and determining from the comparison whether the streamcontent has a predefined relationship with the rating limit (e.g.,determining whether the rating is acceptable based on the rating limit).

Similarly, some embodiments identify, for example from metadata of theindex files of a media stream, a rating (e.g., parental guidelines,parental setting, motion picture ratings, or the like) of content of themedia stream; compare the rating from the metadata to a rating limit setfor playback; determine whether the rating of the content of the firstmedia stream has a predefined relationship with the rating limit; andtransition the first media stream between the playback mode and thestand-by mode in response to determining that the rating of the contentof the first media stream has the predefined relationship with therating limit. For example, in response to determining when the mediastream in a playback mode that the detected rating has the predefinedrelationship with the rating limit (e.g., a rating of a first content ofthe media stream is a “TV-G” rating, and a subsequent rating of a secondsubsequent content of the media stream is “TV-MA,” with the rating limitbeing “TV-PG” or “TV-14”) the media stream can be transitioned from theplayback mode to the stand-by mode. Additionally or alternatively, forexample, when the media stream is in a stand-by mode and the detectedrating has the predefined relationship with the rating limit (e.g., therating of a first content of the media stream is an “R” rating, and asubsequent rating of a second content of the media stream is “PG,” withthe rating limit being “PG” or “PG-13”) the media stream can betransitioned from the stand-by to the playback mode.

Further, the first media stream, in some implementations, may bemaintained in the stand-by mode while the ratings of content of themedia stream do not have the predefined relationship with the ratinglimit. The ratings can be defined in the index file, metadata of theindex file, received with alternate content (e.g., electronicprogramming guide), or some other source. The rating limit can be set ordefined by a user, by a CE device, by metadata of the media stream, auser profile and/or other sources. For example, the rating limit may bedefined within the CE device and set by a parent, and/or defined withina profile of the CE device or user profile accessed by the CE device.

Some methods further transition from a playback mode to a stand-by modein response to tracking metadata of the media stream. Additionally, insome instances, alternate content is played back while the first mediastream is in stand-by mode. The alternative content, in someembodiments, can comprise a second media stream. In other embodiments,the alternate content can comprise content from a non-stream contentsource.

Other embodiments provide method of managing content, comprisingmaintaining a first media stream in a stand-by mode. Some of thesemethods further monitor metadata of an index file of the first mediastream, and display information derived from the meta-data. Otherembodiments additionally or alternatively comprise transitioning a firstmedia stream from a playback state to a stand-by state in response to anavigation instruction from playing the first media stream to playingother content. In some instances, the other content can comprise asecond media stream, while in other instances, the other content cancomprise content from a non-stream content source.

Further embodiments track metadata of a first media stream, and furthercomprise determining whether a detected event triggers a predefinedinstruction; and transitioning the first media stream from a stand-bystate to a playback state when the first media stream is not already inthe playback state. Additionally or alternatively, some embodimentsfurther comprise logging at least some of the metadata. Still otherembodiments comprise recording at least some of the metadata. Similarly,some embodiments may log a detected event, and/or record the detectevent or information relative to the detected event.

Some embodiments further comprise: one or more index files produced fora first media stream, where at least one of the one or more index filescomprises metadata. In some implementations, the metadata furtherindicates one or more events related to playback timing of the firstmedia stream. For example, a first media stream may comprise videocaptured from a security camera aimed at a door, and the first mediastream may further comprise metadata comprising information identifyingtiming of when a door sensor detected that the door was opened orclosed. Additionally or alternatively, the one or more index files insome embodiments can further comprise information (e.g., timing,employee ID, etc.) for an event generated as a result of actionoccurring at or proximate where the first media stream is capture (e.g.,an event generated by an employee scanning their badge by a readerproximate the door). That action or a separate action may give detailsof changes in the locked state of the door that happened as a result ofthe badge scan. Some embodiments may further identify an event when amotion detector monitoring an area (e.g., an area similar to that beingcaptures by a security camera) detects motion. Other embodimentscomprise incorporating metadata into one more index files and/orotherwise associating metadata with index files. For example, metadatacan be generated that gives details (e.g., timing, points, team,resulting overall score, etc.) of a sporting event or the like beingcaptured as the first media stream that occur during a sporting event.

Still other embodiments provide methods, comprising: determiningportions of a media stream of interest are based on metadata of themedia stream. For example, the determining portions of the media streamof interest can comprise identifying portions of a stream relevant to atiming when a motion detector sensed motion. In some embodiments, theportions of the media stream of interest are prior to the current timingoffset into the first media stream, and/or the timing offset of abeginning of the current index file. Metadata of the media stream mayidentify the media file or files that contain the media corresponding tothe points of interest. A playback device may use index files that itretrieved previously, and cached, to determine the media file and/orfiles corresponding to the points of interest. The playback device mayadditionally or alternatively request previous index files to determinethe media file and/or files corresponding to the points of interest.

Some embodiments comprise issuing requests for media at one or moreprevious points of interest in a media stream. Further, the requestedprevious media may be recorded. The requested previous media mayadditionally or alternatively be played.

Some embodiments provide methods of managing content, these methods cancomprise: monitoring metadata of one or more index files of a mediastream. In some implementations, the methods further comprise, inresponse to monitoring the metadata, identifying one or more events,displaying data, taking action based on one or more events, and/or othersuch action. Further, the monitoring and/or taking one or more actionscan, in some instances, be implemented while the media stream is in aplayback mode, such as displaying a game score, filtering based onrating changes, controlling recording of the stream, and/or other suchactions. Additionally or alternatively, the monitoring and/or taking oneor more actions can, in some instances, be implemented while the mediastream is in a stand-by mode.

While the invention herein disclosed has been described by means ofspecific embodiments, examples and applications thereof, numerousmodifications and variations could be made thereto by those skilled inthe art without departing from the scope of the invention set forth inthe claims.

What is claimed is:
 1. A method of managing playback of content, themethod comprising: maintaining, at a playback device, a first mediastream in a stand-by mode; continuing to acquire, from over adistributed network while in the stand-by mode, one or more index filesof the first media stream, where the one or more index files identify aplurality of media files of the first media stream configured to beplayed back at the playback device, while not acquiring the media filesof the first media stream while the first media stream is in thestand-by mode; and tracking the one or more index files relative to aplayback timing of the first media stream while in the stand-by mode,where the playback timing continues to increment while the first mediastream is in the stand-by mode.
 2. The method of claim 1, furthercomprising: determining whether an instruction is received to switch thefirst media stream from the stand-by mode to a playback mode;transitioning the first media stream to the playback mode in response todetermining that the instruction is received to switch the first mediastream to the playback mode; identifying from the tracking of a firstindex file of the one or more index files a current first media filedefined within the first index file and corresponding to a playbacktiming at the time of determining that the instruction is received toswitch the first media stream to the playback mode; and acquiring at theplayback device, from over the distributed network, the first mediafile.
 3. The method of claim 2, wherein the determining whether theinstruction is received to switch the first media stream to the playbackmode comprises detecting an instruction to initiate playback of thefirst media stream; and wherein the transitioning the first media streamto the playback mode further comprises: initiating playback, at theplayback device, of the first media file in response to the detectingthe instruction to initiate playback of the first media stream.
 4. Themethod of claim 3, wherein the detecting the instruction to initiateplayback of the first media stream comprises receiving an instruction toswitch from playing back a separate media content in the playback modeto playing back the first media stream.
 5. The method of claim 4,further comprising: transitioning the separate media content from theplayback mode to a stand-by mode in response to the instruction toswitch from playing back the separate media content to playing back thefirst media stream, where the separate media content is a second mediastream; continuing to track index files of the second media stream whilethe second media file is in the stand-by mode while not acquiring mediafiles of the second media stream while the second media stream is thestand-by mode.
 6. The method of claim 2, wherein the maintaining thefirst media stream in the playback mode further comprises: requestingsubsequent index files of the first media stream corresponding toplayback timing following the first index file, where the subsequentindex files comprise identify a second plurality of media files of thefirst media stream configured to be played back at the playback device;and acquiring at the playback device, from over the distributed network,the second plurality of media file while the first media stream is inthe playback mode.
 7. The method of claim 1, further comprising:tracking metadata of the first media stream while the first media streamis in the stand-by mode; and detecting, based on the metadata, anoccurrence of an event; taking a predefined action, defined before thedetection of the occurrence of the event, in response to detecting theoccurrence of the event.
 8. The method of claim 7, wherein the takingthe predefined action comprises: identifying an instruction based on thedetected event to initiate recording of the first media stream;transitioning the first media stream to the playback mode; and recordingthe first index file, the first media file and subsequent media files inresponse to the detecting the instruction to record the first mediastream.
 9. The method of claim 7, wherein the taking the predefinedaction comprises displaying a notification corresponding to the event.10. The method of claim 1, further comprising: identifying, frommetadata of the one or more index files of the first media stream, arating of content of the first media stream; comparing the rating fromthe metadata to a rating limit set for playback; determining whether therating of the content of the first media stream has a predefinedrelationship with the rating limit; and transitioning the first mediastream between the playback mode and the stand-by mode in response todetermining that the rating of the content of the first media stream hasthe predefined relationship with the rating limit.
 11. A methodcomprising: playing back at a playback device a first media stream beingreceived from over an Internet protocol (IP) distributed network whilethe media stream is being played back; detecting, at the playbackdevice, an instruction to transition the first media stream to astand-by mode; halting, in response to receiving the instruction totransition to the stand-by mode, the playback of the first media stream;and tracking a first index file of the first media stream relative toplayback timing of the first media stream while in the stand-by mode,and while not playing back the first media stream and not requesting,from over the distributed network, media files corresponding to theentries in the first index file.
 12. The method of claim 11, furthercomprising: determining, while in the stand-by mode relative to thefirst media stream, whether an instruction is received to resumeplayback of the first media stream; identifying from the tracking of thefirst index file, in response to determining that an instruction toresume playback of the first media stream is received, access to a firstmedia file defined within the first index file and corresponding to aplayback timing at the time of detecting the instruction to resumeplayback; acquiring, over the distributed network, the first media fileusing the identified access; and initiating playback, in response to theinstruction to resume playback of the first media stream, the firstmedia file.
 13. The method of claim 11, further comprising: continuingto request, while in the stand-by mode corresponding to the first mediastream, one or more subsequent index files of the first media streamfrom the remote content source supplying the first media stream whilenot requesting media files corresponding to entries in the one or moresubsequent index files; wherein the one or more subsequent index filescomprise the first index file.
 14. The method of claim 13, wherein thedetecting the instruction to transition to the stand-by mode comprisesdetecting an instruction to switch from playing back the first mediastream to playing back a separate media content, where the first mediastream is different than the separate media content.
 15. The method ofclaim 13, further comprising: tracking metadata of the first mediastream while the first media stream is in the stand-by mode; detecting,based on the metadata, an occurrence of an event; and initiatingpredefined instructions in response to the detection of the occurrenceof the event.
 16. The method of claim 15, wherein the initiating thepredefined instruction comprises identifying an instruction based on thedetected event to switch to playing back the first media stream.
 17. Themethod of claim 11, further comprising: tracking one or more additionalindex files of one or more corresponding additional media streamsrelative to playback timing of the one or more additional media streamswhile in a stand-by mode relative to the one or more additional indexfiles, while in the stand-by mode relative to the first media stream,and while not requesting media files corresponding to entries in the oneor more additional index files of the one or more correspondingadditional media streams; and identifying, in tracking the one or moreadditional index files, an event relevant to one of the one or moreadditional index files; and taking a predefined action corresponding tothe identified event.
 18. A computer program product comprising a mediumfor embodying a computer program for input to a processor based systemand a computer program embodied in the medium for causing the processorbased system to perform steps comprising: maintaining, at a playbackdevice, a first media stream in a stand-by mode; continuing to request,from over a distributed network, a first index file of the first mediastream, where the first index file identifies a plurality of media filesof the first media stream configured to be played back at the playbackdevice, while not acquiring the media files of the first media streamwhile the first media stream is in the stand-by mode; and tracking,while in the stand-by mode, the first index file relative to a playbacktiming of the first media stream, where the playback timing continues toincrement while the first media stream is in the stand-by mode.
 19. Acomputer program product in accordance with claim 18, further configuredto cause the processor based system to perform steps comprising:determining whether an instruction is received to switch the first mediastream from the stand-by mode to a playback mode; and transitioning thefirst media stream to a playback mode, comprising: identifying, inresponse to determining that the instruction is received to switch thefirst media stream to the playback mode, from the tracking of the firstindex file a current first media file defined within the first indexfile and corresponding to a playback timing at the time of determiningthat the instruction is received to switch the first media stream to theplayback mode; and acquiring at the playback device, from over thedistributed network, the first media file.
 20. A computer programproduct in accordance with claim 19, wherein the determining whether theinstruction is received to switch the first media stream to a playbackmode comprises detecting an instruction to initiate playback of thefirst media stream; and wherein the transitioning the first media streamto the playback mode further comprises: initiating playback, at theplayback device, of the first media file in response to the detectingthe instruction to initiate playback of the first media stream.